<html>
<body>
The number or pattern of expression to pin.

<h2>The contract:</h2>

<ol>
  <li>Pin is applied to items of grammar sequence expressions</li>
  <li>While matching a sequence parser will ignore errors after a pinned item</li>
</ol>

<h2>Parenthesized list example:</h2>
<pre><code>
  {
    tokens=[number="regexp:\d+" comma="," paren1="(" paren2=")"]
  }
  list ::= "(" items? ")" {pin=1} // or {pin="("}
  private items ::= [!")" item (',' item) * ] {pin(".*")=1}
  item ::= number {recoverWhile=item_recover}
  private item_recover ::= !(")" | ",")
</code></pre>

</body>
</html>
